package com.spsa.negocio.utilidades;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.Scanner;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class UtilArchivos {
	
	static final Logger logger = LogManager.getLogger(UtilArchivos.class.getName());

	public static byte[] convertirBytes(File archivo) {
		byte[] bytesArchivo = new byte[(int) archivo.length()];

		try {
			FileInputStream fileInputStream = new FileInputStream(archivo);
			fileInputStream.read(bytesArchivo);
			fileInputStream.close();
		} catch (Exception e) {
			logger.error("No se puedo convertir un fichero a bytes[]", e);
			e.printStackTrace();
		}

		return bytesArchivo;
	}

	public static File convertirBytesAFile(byte[] archivo) {
		File file = new File(new File("").getAbsolutePath() + File.separator + "temporal.txt");
		FileOutputStream fileOuputStream;
		try {
			fileOuputStream = new FileOutputStream(file);
			fileOuputStream.write(archivo);
			fileOuputStream.close();
		} catch (Exception e) {
			logger.error("No se pudo convertir una cadena de bytes a un fichero", e);
		}
		return file;
	}

	public static String obtenerTextoDeFile(File fileReporte) {
		String textoArchivo = "";
		
		try {
			Scanner lector = new Scanner(fileReporte);

			while (lector.hasNextLine()) {
				textoArchivo = textoArchivo + lector.nextLine() + "\n";
			}
			
			lector.close();
		} catch (FileNotFoundException e) {
			logger.error("No se encontrol el fichero del reporte", e);
			return "";
		}
		return textoArchivo;
	}
}
